12#ifndef ROC_PIPELINE_RECEIVER_H_
13#define ROC_PIPELINE_RECEIVER_H_
87 void fetch_packets_();
97 void update_sessions_();
124 size_t num_channels_;
Memory allocator interface.
Intrusive doubly-linked list.
Base class for non-copyable objects.
Receiver session pipeline.
virtual void write(const packet::PacketPtr &)
Write packet.
bool add_port(const PortConfig &config)
Add receiving port.
virtual void wait_active() const
Wait until the receiver status becomes active.
void iterate_ports(void(*fn)(void *, const PortConfig &), void *arg) const
Iterate added ports.
Receiver(const ReceiverConfig &config, const fec::CodecMap &codec_map, const rtp::FormatMap &format_map, packet::PacketPool &packet_pool, core::BufferPool< uint8_t > &byte_buffer_pool, core::BufferPool< audio::sample_t > &sample_buffer_pool, core::IAllocator &allocator)
Initialize.
size_t num_sessions() const
Get number of alive sessions.
virtual bool read(audio::Frame &)
Read frame.
virtual size_t sample_rate() const
Get source sample rate.
virtual bool has_clock() const
Check if the source has own clock.
virtual State state() const
Get current receiver state.
bool valid()
Check if the pipeline was successfully constructed.
Memory allocator interface.
Intrusive doubly-linked list.
uint32_t timestamp_t
Audio packet timestamp.
Receiver session pipeline.
Receiver session parameters.